package com.chris.code.generate.vue;

import com.chris.assist.builders.vue.supports.VueBuildManager;
import com.chris.assist.config.Config;
import com.chris.code.generate.manager.LocalTestConfigBuilder;

/**
 * @author Chris Chan
 * Create On 2025/9/26 下午2:51
 * Use for: Vue路由表资源创建示例
 * Explain:
 */
public class VueBuildTest {
    public static void main(String[] args) {
        // 1. 获取配置
        Config config = LocalTestConfigBuilder.create().get();
        // 2. 创建管理器 3. 并创建
        createAll(config);
    }

    /**
     * 构建type资源
     * @param config
     */
    private static void createTypes(Config config) {
        VueBuildManager.get(config)
                .matchTableNamePrefixes("trade_")
                .createTypes();
    }
    /**
     * 构建api接口调用资源
     * @param config
     */
    private static void createApis(Config config) {
        VueBuildManager.get(config)
                .matchTableNamePrefixes("trade_")
                .createApis();
    }
    /**
     * 构建页面资源
     * @param config
     */
    private static void createPages(Config config) {
        VueBuildManager.get(config)
                .matchTableNamePrefixes("trade_")
                .createPages();
    }
    /**
     * 构建路由资源
     * @param config
     */
    private static void createRouters(Config config) {
        VueBuildManager.get(config)
                .matchTableNamePrefixes("trade_")
                .createRouters();
    }
    /**
     * 构建所有资源
     * @param config
     */
    private static void createAll(Config config) {
        VueBuildManager.get(config)
                .matchTableNamePrefixes("trade_")
                .createAll();
    }
    /**
     * 构建指定资源
     * @param config
     */
    private static void create(Config config) {
        VueBuildManager.get(config)
                .matchTableNamePrefixes("trade_")
                .create("type", "api", "page", "router");
    }
}
